{% extends "base.html" %}
{% load desc_status_flag %}
{% load get_attr %}
{% load judge_lang_called %}
{% block page_title %}评测机报告 - {% endblock %}
{% block page_head %}
    <link rel="stylesheet" href="/static/codemirror/lib/codemirror.css">
    <style type="text/css">
        .CodeMirror{
            border: 1px solid #ddd;
            border-top: 0;
            height: 400px;
        }
    </style>
{% endblock %}
{% block page_body %}
<div class="header_container">
    <h1>
        评测机报告<small>
        ({{ status.id }}) / <a href="{% url 'account_space' status.author.id %}">{{ status.author.nickname }}{% if status.author.realname != None and  status.author.realname != '' %}({{ status.author.realname }}){% endif %}</a>
        </small>
    </h1>
</div>
<div class="page_container">
    <div class="panel panel-{{ result.exitcode | desc_status_flag | get_attr:"color" }}">

        <div class="panel-heading">
            <span class="panel-title">
                评测结果：{{ result.exitcode | desc_status_flag | get_attr:"title" }}
                <br>
                <small>
                    评测语言：{{ status.lang | judge_lang_called }}
                    {% if result.exitcode in view_time_mem_flag_list %}
                        {% if user_session.user_role < 2 and result.exitcode == 2 %}
                            ，运行总时间：--- ms
                        {% else %}
                            ，运行总时间：{{ result.timeused }}ms
                        {% endif %}
                        {% if user_session.user_role < 2 and result.exitcode == 3 %}
                            ，最大内存使用：--- KB
                        {% else %}
                            ，最大内存使用：{{ result.memused }}KB
                        {% endif %}
                    {% endif %}
                </small>
            </span>
        </div>
        <div class="panel-body">
        {% if result.ce_info != None %}
            <h4>编译器返回的编译结果信息，请检查你的代码</h4>
            <pre>{{ result.ce_info | safe }}</pre>
        {% endif %}

        {% if detail != None %}
            <h4>测试数据</h4>
            <div class="list-group">
                {% for item in detail %}
                      <a href="{% url 'judge_detail_testdata' status.id item.handle %}" target="_blank" class="list-group-item">
                            <h4 class="list-group-item-heading">
                                <span class="glyphicon glyphicon-bookmark"></span>
                                {% if user_session.user_role >= 2 %}{{ item.name }}{% else %}测试数据{{ forloop.counter }}{% endif %}&nbsp;({{ item.handle }})
                            </h4>
                            {% if item.result != -3 %}
                            <p class="list-group-item-text text-{{ item.result | desc_status_flag | get_attr:"color"}}">
                                评测结果：{{ item.result | desc_status_flag | get_attr:"title"}}
                                {% if item.result in view_time_mem_flag_list %}
                                    {% if user_session.user_role < 2 and item.exitcode == 2 %}
                                        ，运行总时间：--- ms
                                    {% else %}
                                        ，运行总时间：{{ item.timeused }}ms
                                    {% endif %}
                                    {% if user_session.user_role < 2 and item.exitcode == 3 %}
                                        ，最大内存使用：--- KB
                                    {% else %}
                                        ，最大内存使用：{{ item.memoryused }}KB
                                    {% endif %}
                                {% endif %}
                            </p>
                            {% else %}
                                未运行
                            {% endif %}
                            {% if item.result == 2 or item.result == 3 or item.result == 5 or item.result == 6 %}
                            <br /><strong>Linux内核信号({{ item.signal }}）</strong><br />描述：{{ item.signal_desc }}
                            {% endif %}
                      </a>
                {% endfor %}
            </div>
        {% endif %}
        {% if user_session.user_id != 'guest' %}
            <h4>提交内容</h4>
            <div style="border-top:1px solid #ddd;">
            <textarea id="upload_code">{% if not hideProblemSubCode or user_session.user_role >= 2 %}{{ upload_code }}{% else %}代码被屏蔽{% endif %}</textarea>
            </div>
        {% endif %}
        </div>
        <div class="panel-footer">

            <span class="glyphicon glyphicon-info-sign"></span> 小提示：由于题目设置，开放查看的测试数据可能仅是所有数据的一部分哦。<br />
            <span class="glyphicon glyphicon-info-sign"></span> 小提示：最大内存使用 和 运行总时间 有可能在发生TLE和MLE时，低于题目的预设，这是由于Linux系统的资源监测函数误差所致，判题机调用Linux内核限制信号确保准确。<br />
            <span class="glyphicon glyphicon-warning-sign"></span> 请注意：判题机在评测过程中遇到任何错误，将直接返回评测结果，不会再继续进行尝试哦。(设置忽略PE时，PE结果仍继续计算）

        </div>
    </div>
</div>
{% endblock %}
{% block page_script %}
    <script src="/static/codemirror/lib/codemirror.js"></script>
    <script src="/static/codemirror/mode/clike/clike.js"></script>
    <script src="/static/codemirror/mode/javascript/javascript.js"></script>
    <script src="/static/jsdifflib/difflib.js"></script>
    <script src="/static/jsdifflib/diffview.js"></script>
    <script type="text/javascript">
    $(function () {
        var editorMode = {
            "gcc": "text/x-csrc",
            "gcc-cpp": "text/x-c++src",
            "java": "text/x-java"
        };
        CodeMirror.fromTextArea(document.getElementById("upload_code"), {
            lineNumbers: true,
            mode: editorMode['{{ status.lang }}'],
            readOnly: true,
            showCursorWhenSelecting: false
        });
    })
    </script>
{% endblock %}